Programming Questions for Practice
Given an integer num, return the number of steps to reduce it to zero. In one step, if the current number is even, you have to divide it by 2, otherwise, you have to subtract 1 from it.
#include <stdio.h>
#include <stdlib.h>
/*
Given an integer num, return the number of steps to reduce it to zero.
In one step, if the current number is even, you have to divide it by 2,
otherwise, you have to subtract 1 from it.
*/
int numberOfSteps(int num) {
int count = 0;
while(num != 0) {
if(num%2 == 0)
num /= 2;
else
num--;
count++;
}
return count;
}
int main()
{
int number, result;
printf("Enter the length: ");
scanf("%d", &number);
result = numberOfSteps(number);
printf("Number steps to %d become zero: %d\n", number, result);
return 0;
}
import java.util.Scanner;
/*
Given an integer num, return the number of steps to reduce it to zero.
In one step, if the current number is even, you have to divide it by 2,
otherwise, you have to subtract 1 from it.
*/
public class StepsCount {
static int numberOfSteps(int num) {
int count = 0;
while(num != 0) {
if(num%2 == 0)
num /= 2;
else
num--;
count++;
}
return count;
}
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
System.out.print("Enter any integer number: ");
int number = read.nextInt();
int result = numberOfSteps(number);
System.out.println("Steps required to make " + number + " zero is " + result);
}
}
#Given an integer num, return the number of steps to reduce it to zero.
#In one step, if the current number is even, you have to divide it by 2,
#otherwise, you have to subtract 1 from it.
def numberOfSteps(num):
count = 0
while(num != 0):
if(num%2 == 0):
num /= 2
else:
num -= 1
count += 1
return count
number = int(input("Enter any number: "))
print("Steps required: ", numberOfSteps(number))